package cn.micro.eye.entity;

import cn.micro.eye.commons.entity.MicroEntity;
import cn.micro.eye.type.AreaCategoryEnum;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * <p>
 * 区域
 * </p>
 *
 * @author lry
 * @since 2018-09-11
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@TableName("area")
public class Area extends MicroEntity<Area> {

    private static final long serialVersionUID = 1L;

    /**
     * 区域名称
     */
    private String name;
    /**
     * 所属直接区域ID
     * {@link Area#id}
     */
    private Long parentId;
    /**
     * 所属类别（0=国家、1=省份、2=市/州、3=区/市/县、4=学校）
     * {@link AreaCategoryEnum}
     */
    private Integer category;
    /**
     * 统一代码
     */
    private String code;
    /**
     * 所属省份
     * {@link Area#id}
     */
    private Long provinceId;
    /**
     * 所属省份名称
     * {@link Area#name}
     */
    private String provinceName;
    /**
     * 所属市/区
     * {@link Area#id}
     */
    private Long cityId;
    /**
     * 所属市/区名称
     * {@link Area#name}
     */
    private String cityName;
    /**
     * 所属区/县
     * {@link Area#id}
     */
    private Long districtId;
    /**
     * 所属区/县名称
     * {@link Area#name}
     */
    private String districtName;

}
